package com.zlc.workflow.core.process.model;

import com.zlc.common.core.process.model.vo.StoneProcessVo;
import com.zlc.workflow.core.process.model.design.AntDesignEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.util.ArrayList;
import java.util.List;

/**
 * 流程部署实体
 */
@Getter
@Setter
@Accessors(chain = true)
@ApiModel
public class ProcessDeployEntity {

    @ApiModelProperty(value = "类别ID")
    private String classId;

    @ApiModelProperty(value = "流程定义ID")
    private String processId;

    @ApiModelProperty(value = "是否变更版本")
    private Boolean changeVersion;

    @ApiModelProperty(value = "流程内容 xml字符串")
    private String content;

    @ApiModelProperty(value = "流程内容 json对象")
    private FlowProcess process;

    @ApiModelProperty(value = "流程设计实体")
    private AntDesignEntity design;

    @ApiModelProperty(value = "流程定义信息")
    private StoneProcessVo processVo;

    @ApiModelProperty(value = "流程事件配置")
    private List<ProcessEventConfig> eventConfigs = new ArrayList<>();

    @ApiModelProperty(value = "流程权限配置")
    private List<NodeAuthConfig> authConfigs = new ArrayList<>();

    @ApiModelProperty(value = "节点定义信息")
    private List<ProcessNodeEntity> nodeEntities = new ArrayList<>();

    @ApiModelProperty(value = "流程变量配置")
    private List<ProcessVariableConfig> variableConfigs = new ArrayList<>();


}
